/**
 * Created by xuds on 2016/9/14.
 */
define(["dojo/dom-construct", "dojo/_base/window"], function (domConstruct, dojoWindow) {
    return {
        importCss: function (path) {
            domConstruct.create("link", {
                rel: "stylesheet",
                type: "text/css",
                href: path
            }, dojoWindow.doc.head || dojoWindow.doc.getElementsByTagName("head")[0]);
        },
        rebuildDataObject:function(object){
            var ret = [];
            for(var k in object) {
                if(object[k] != null && object[k].length){
                    ret.push({
                        name:k,
                        value:object[k].trim()
                    })
                }else if(object[k] != null && object[k] instanceof Date){//时间
                	ret.push({
                        name:k,
                        value:object[k]
                    })
                }
            }
            return ret;
        },
        /**
         * @summary 提出属性中的空字段
         * @params {Object} attributes
         */
        formatAttributes:function(attributes){
        	for(var item in attributes){
        		if(!attributes[item]){
        			delete attributes[item];
        		}
        	}
        	return attributes;
        },
        functionProxy:function(context,fn){
            var tmp, args, proxy;
            args = Array.prototype.slice.call( arguments, 2 );
            proxy = function() {
                return fn.apply( context, args.concat( Array.prototype.slice.call( arguments ) ) );
            };
            return proxy;
        },
        /*日期格式化*/
		formatDate:function(date, fmt){
		    date = date == undefined ? new Date() : date;
		    date = typeof date == 'number' ? new Date(date) : date;
		    fmt = fmt || 'yyyy-MM-dd';
		    var obj =
		    {
		        'y': date.getFullYear(), // 年份，注意必须用getFullYear
		        'M': date.getMonth() + 1, // 月份，注意是从0-11
		        'd': date.getDate(), // 日期
		        'q': Math.floor((date.getMonth() + 3) / 3), // 季度
		        'w': date.getDay(), // 星期，注意是0-6
		        'H': date.getHours(), // 24小时制
		        'h': date.getHours() % 12 == 0 ? 12 : date.getHours() % 12, // 12小时制
		        'm': date.getMinutes(), // 分钟
		        's': date.getSeconds(), // 秒
		        'S': date.getMilliseconds() // 毫秒
		    };
		    var week = ['天', '一', '二', '三', '四', '五', '六'];
		    for(var i in obj)
		    {
		        fmt = fmt.replace(new RegExp(i+'+', 'g'), function(m)
		        {
		            var val = obj[i] + '';
		            if(i == 'w') return (m.length > 2 ? '星期' : '周') + week[val];
		            for(var j = 0, len = val.length; j < m.length - len; j++) val = '0' + val;
		            return m.length == 1 ? val : val.substring(val.length - m.length);
		        });
		    }
		    return fmt;
		},
		/*计算2个时间的时间差*/
		DateDiff: function(sDate1,  sDate2){    //sDate1和sDate2是yyyy-MM-dd格式
		       var  aDate,  oDate1,  oDate2,  iDays
		       aDate  =  sDate1.split("-")
		       oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2002格式
		       aDate  =  sDate2.split("-")
		       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])
		       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数
		       return  iDays;
		},
    }
});
